package com.example.stuwork.service;

import com.example.stuwork.pojo.Department;
import java.util.List;

/**
 * 学院服务接口
 */
public interface DepartmentService {
    
    /**
     * 获取所有学院列表
     *
     * @return 学院列表
     */
    List<Department> findAll();
    
    /**
     * 根据学院编号查询学院
     *
     * @param deptNumber 学院编号
     * @return 学院信息
     */
    Department getByNumber(String deptNumber);
    
    /**
     * 新增学院
     *
     * @param department 学院信息
     * @return 是否成功
     */
    boolean addDepartment(Department department);
    
    /**
     * 更新学院信息
     *
     * @param department 学院信息
     * @return 是否成功
     */
    boolean updateDepartment(Department department);
    
    /**
     * 删除学院
     *
     * @param deptNumber 学院编号
     * @return 是否成功
     */
    boolean deleteDepartment(String deptNumber);
    
    /**
     * 根据关键词搜索学院
     *
     * @param keyword 关键词
     * @return 学院列表
     */
    List<Department> search(String keyword);
    
    /**
     * 检查学院编号是否已存在
     *
     * @param deptNumber 学院编号
     * @return 是否存在
     */
    boolean existsByNumber(String deptNumber);
    
    /**
     * 检查学院代码是否已存在
     *
     * @param deptCode 学院代码
     * @param excludeNumber 排除的学院编号（用于更新时判断）
     * @return 是否存在
     */
    boolean existsByCode(String deptCode, String excludeNumber);
    
    /**
     * 检查学院名称是否已存在
     *
     * @param deptName 学院名称
     * @param excludeNumber 排除的学院编号（用于更新时判断）
     * @return 是否存在
     */
    boolean existsByName(String deptName, String excludeNumber);
} 